home *** CD-ROM | disk | FTP | other *** search
/ Business Shareware / Business Shareware.iso / start / gfxapps / dmorf_1 / dmorf.doc < prev    next >
Text File  |  1993-04-07  |  10KB  |  250 lines

  1. DMORF Rel 1.0 (04/08/93)
  2. Copyright (c) 1992, 1993, by David K. Mason
  3.  
  4. DMorf (Dave's Morphing program) is a small morphing program that
  5. runs in DOS graphics mode.  It operates on TGA, GIF, and IMG
  6. files, and produces a bunch of TGA files as output.
  7. You can compile these TGA files with my other program, DTA, or
  8. dump 'em straight out to video if you've got the hardware.
  9.  
  10. ----------------------------------------------------------------------
  11. Hardware requirements:
  12.  
  13. To run DMorf, you MUST have:
  14.  1) A VGA monitor (regular VGA is sufficient... if you're satisfied
  15.     with 640x480x16 mode... if you've got a VESA-compliant VGA board,
  16.     or a VESA driver, then DMorf will use 640x480x256 mode).
  17.  2) At least a '286
  18.  3) A mouse with a microsoft-compatible driver
  19.  4) At least *some* extended memory (expanded memory is not
  20.     useful).  Lots of extended memory, unless you're working
  21.     with teeny pictures.
  22.  
  23.     This program runs in '286 protected mode, and allows
  24.     access to up to 16M of extended memory.
  25.  
  26.     ( During the warping process, DMorf creates a buffer
  27.     big enough to hold one entire picture, in RGBa (32-bit)
  28.     form.  That means 256000 bytes if you're working with
  29.     320x200 pictures, or 1,228,800 for 640x480, or 1,920,000
  30.     for 800x600, or 3,145,728 for 1024x768. )
  31.  
  32. To accomplish any serious work with this program, you SHOULD have:
  33.  
  34.  1) A numeric coprocessor... it DRAGS without one
  35.  
  36. ----------------------------------------------------------------------
  37. DOS-Extender Files
  38.  
  39. The DOS-Extender Files from the Borland Pascal compiler (DPMI16BI.OVL,
  40. RTM.EXE, and DPMIINST.EXE) must exist somewhere in your DOS path,
  41. or in the same directory where you keep DMORF.EXE.
  42. ... or DMORF will not work at all.  These files are in the DMorf
  43. archive.
  44.  
  45. If you've got an unsupported 286 processor (you'll know, because
  46. DMORF will complain loudly), then you'll have to:
  47.  
  48.  (1) disable any memory management software you have running
  49.      (like HIMEM.SYS)
  50.  (2) run the other program in this archive, DPMIINST, which will
  51.      configure RTM.EXE for your system
  52.  
  53.  and then
  54.  
  55.  (3) turn any disabled memory managment stuff back on
  56.  
  57. ----------------------------------------------------------------------
  58. How to use DMorf:
  59.  
  60. To get started with DMorf, type "DMORF <file1> <file2>"
  61.  
  62. The files can be TGA (16, 24, or 32, compressed or uncompressed),
  63. Vivid IMG, or GIF.  The two files don't have to be in the same
  64. format, but they do have to share the same dimensions.
  65.  
  66. DMorf will then read and display the two pictures in side-by-side
  67. windows.  If you only supplied one filename, then it'll display
  68. that picture twice. It scales them so they'll fit in the windows.
  69.  
  70. Then, it lays a mesh over the two pictures.
  71. In this program, a mesh is represented by a bunch of horizontal
  72. and vertical lines.  The points where they intersect can be
  73. adjusted.
  74. Initially, there are lines on the four edges of the picture,
  75.  
  76. There are always the same number of mesh points defined in the
  77. two pictures, though they aren't always in the same places.
  78.  
  79. To add a new line to the mesh, move the mouse cursor to the
  80. border around one of the pictures (which one doesn't particularly
  81. matter).  Click the *right* mouse button at the point where you want
  82. the line added.  (If the cursor is on the top or bottom border, a
  83. vertical line will be added, and if it's on one of the sides, a
  84. horizontal line will be added.)
  85.  
  86. To move a vertex, put the mouse cursor over the intersection
  87. of two lines, press the button, and move the mouse.
  88. Let go of the button when you've got the point where you want
  89. it.  DMorf will try to prevent you from overlapping lines.
  90. It's possible to defeat it with weird angles.  Don't do that...
  91. it's bad.
  92.  
  93. The point of these meshes is to define the shapes of the objects
  94. in the pictures.  The lines should match the contours of any
  95. objects in the scenes.
  96.  
  97. Move the vertices of the lines so that the lines match the curves
  98. of the objects in the pictures.  When you've got meshes that you're
  99. satisfied with, click on the "Go" button and watch.
  100.  
  101. ----------------------------------------------------------------------
  102. The User Interface:
  103.  
  104. Here's what the other controls on the screen do:
  105.  
  106.  Just Warp:  In Morph mode, the program will map points from
  107.    picture #1 toward picture #2, and from 2 toward 1, and
  108.    cross-fade.  In Warp mode, it'll just map points from
  109.    #1 toward #2, with no fade.
  110.    Not too surprisingly, Warp mode takes half the time
  111.    that Morph mode does.
  112.  
  113.  Spline meshes:
  114.    When your points are all located where you want them to be,
  115.    and you tell DMorf to go ahead and morph, DMorf figures out
  116.    which points to map where by drawing spine curves between
  117.    the vertices.
  118.    If you turn this control off, it'll draw straight lines instead.
  119.    Reasons to use splines instead of lines: the warp often looks
  120.    a whole lot better.
  121.    Reasons to use lines instead of splines:
  122.    (1) Splines sometimes go haywire, with curves going every which
  123.        way, overlapping, and (gasp) sometimes even passing beyond
  124.        of the picture borders
  125.    (2) You don't want something curved when it warps
  126.    (3) lines are faster than splines.
  127.  
  128.  Smooth resampling:  In smooth mode, DMorf interpolates
  129.    new pixel values from all source pixels that should
  130.    contribute... if you turn this control off, it just
  131.    grabs a the closest pixel value.
  132.    Nearest neighbor, in other words.  The results
  133.    in smooth mode look massively better than dumb mode.
  134.    But dumb mode is massively faster.  Dumb mode would be
  135.    useful in test runs, but don't use it for real stuff, 'cause
  136.    it looks like crap.
  137.  
  138.  The RLE Checkbox: Tells DMorf whether or not to create run-length
  139.    encoded (compressed) TGA files.
  140.    Compressed TGA files are almost always smaller than
  141.    non-compressed, but some programs can't read them.
  142.    (DTA can)
  143.  
  144.  The 32-Bit Checkbox: Tells DMorf whether to create 24-bit or
  145.    32-bit TGA files.  The only reason you might want to
  146.    use 32-bit TGA files is if you're planning to do compositing.
  147.    Some programs can only read 24-bit TGA files.  (DTA can read
  148.    either)
  149.  
  150.  The Bottom-to-Top Checkbox: Tells DMorf whether to create
  151.    TGA files that begin at the bottom of the screen, or at the
  152.    top of the screen.  Some programs can only read one or
  153.    the other variety.  (DTA can read both, but prefers bottom-to
  154.    top)
  155.  
  156.  The Mesh colors "R" control: sets the red component of the color
  157.    used to display the control mesh.
  158.  
  159.  The Mesh colors "G" control: sets the green component of the color
  160.    used to display the control mesh.
  161.  
  162.  The Mesh colors "B" control: sets the blue component of the color
  163.    used to display the control mesh.
  164.  
  165.  The Frames control: tells DMorf how many pictures to create.
  166.    If you're in Morph mode, then this represents how many tween
  167.    frames to create.  In warp mode, this number includes a
  168.    fully-warped final frame.
  169.  
  170.  The Swap button: swaps the meshes between the two windows.
  171.  
  172.  The Copy 1->2 button: copies the mesh from window 1 into
  173.    window 2.
  174.  
  175.  The Copy 2->1 button: copies the mesh from window 2 into
  176.    window 1.
  177.  
  178.  The Mirror 1 button: flips the mesh in window 1 horizontally.
  179.  
  180.  The Mirror 2 button: flips the mesh in window 2 horizontally.
  181.  
  182.  The Splines button: gives you a preview of what splines for the
  183.    current mesh points would look like.  If you're using
  184.    "Spline meshes" mode, make sure you use this button once in a
  185.    while to make sure the splines aren't going nuts.
  186.  
  187.  The Zoom buttons: display just one of the images, much larger.
  188.    This gives much finer control over the mesh control points.
  189.  
  190.  The Save button: saves your meshes and settings to a control file.
  191.  
  192.  The Load button: loads a control file.  Type the filename right the
  193.    first time or you'll get a run-time error and get dumped out to
  194.    DOS.
  195.  
  196.  The Go button: causes DMorf to start morphing.
  197.  
  198.  The Abort button: Changed my mind.  Get me out of this program NOW.
  199.    The escape key does the same thing.
  200.  
  201. If all this makes no sense, just start messing around with the
  202. program.  Once you figure out how to add new points to the mesh,
  203. the rest of the interface is pretty intuitive.
  204.  
  205. ----------------------------------------------------------------------
  206. Credits:
  207.  
  208. The warping, morphing, image scaling, and spline algorithms all
  209. come (with modification) from George Wolberg's excellent book
  210. Digital Image Warping. The user interface stuff is all mine.
  211.  
  212. Thanks to Michael Day (Knight Software) for making his VESA
  213. BGI graphics driver (BGI256) available.
  214.  
  215. Thanks to the Compuserve GRAPHDEV forum gang, and the Graphics
  216. Alternative BBS gang for their suggestions, and various bugs
  217. they've helped me identify.
  218.  
  219. ----------------------------------------------------------------------
  220. Disclaimer:
  221.  
  222.   If you use DMorf, you do so at your own risk.  I won't be held
  223.   responsible if it screws anything up.
  224.  
  225. ----------------------------------------------------------------------
  226. Support:
  227.  
  228.   If you've got any requests/bug reports/suggestions, send a message
  229.   to:
  230.     "David Mason" on the "You Can Call Me Ray" BBS, (708) 358-5611,
  231.     and on "The Graphics Alternative", (510) 524-2780,
  232.     and on "Channel 1" BBS, (617) 354-8873.
  233.     "76546,1321" on Compuserve.
  234.  
  235.   You'll probably get some kind of a response (maybe sooner, maybe
  236.   later)
  237.  
  238. ----------------------------------------------------------------------
  239. Money matters:
  240.  
  241.   DMorf is a shareware program.  If you think this program is worth
  242.   it, send some money or some computer hardware or something to:
  243.  
  244.     David K. Mason
  245.     P.O. Box 181015
  246.     Boston, MA 02118
  247.  
  248.   I think $35 is an appropriate amount, but feel free to send more
  249.   or less.
  250.